This invention relates to allocation and provisioning of resources in a telecommunications network, and in particular optimisation of service cell allocation in a virtualised (“cloud-based”) datacentre system. However, although the embodiments of the invention will be described with reference to such a cloud-based system, the allocation and provisioning process may have applications in wider fields and no limitation of the scope of the invention is implied by discussion of details of the embodiments.
The provision of cloud-based datacentre services allows enterprises to be offered complete virtual datacentres with data processing resources such as computing, storage, and image processors etc. as on-demand services which are accessible on-the-fly, allowing the management of networked IT infrastructures, and complex associated data handling services, to be managed on behalf of an end-user (client) by a skilled resource-management specialist or “cloud service provider”.
The cloud service providers distribute their datacentres across geographical locations to increase performance and reliability, and to reduce service delivery costs. Cloud service providers must optimize the deployment of services to take full advantage of these geo-distributed cloud infrastructures. This requires cloud service providers to determine in which of their physical cloud service provider datacentres to locate individual virtual datacentre components, how many virtual datacentre components to deploy on each physical cloud service provider datacentre, and how to optimally route traffic between enterprise customers and physical cloud service provider datacentres.
The complexity of this problem increases if there are dependencies that need to be taken into consideration. Such dependencies exist at different granularities in cloud infrastructures. There are dependencies at the service level in cloud-based service-oriented application (SOA) environments where multiple individual applications or services such as file hosting, e-commerce, and search engines are coupled together to create a single composite cloud service such as an online sales portal. There are also dependences at a higher granularity in situations where multiple virtual datacentre components such as computing, storage and image processor virtual machines are coupled together to deliver complete virtual datacentres.
The initial deployment of resources is usually planned so that each enterprise customer only needs to communicate with one virtual datacentre, which is then configured according to the customer's requirements for data storage, computing power, etc. This allows for efficient communication between the elements of the virtual datacentre, and reduced latency. Examples of such systems are discussed in general terms in United States patent application US2014/108639 and an article by Famaey et al: “Network-Aware service placement and selection algorithms on large-scale overlay networks” [Computer Communications Vol 34 No 15 pages 1777-1787 published in 2011.
A process that delivers such results is depicted in FIG. 4, and will be discussed in more detail later. The process allocates each client system to one of the datacentres, thereby forming a number of “virtual service cells”, each served by a physical datacentre, as depicted in FIG. 2.
A problem arises when the requirements of individual client systems change over time. The initial selection of a physical datacentre to serve a given customer is followed by configuration of that physical datacentre to meet the customer's requirements: for example the relative proportions of the physical datacentre to be dedicated to storage, computing, image processing etc. that comprise the virtual datacentre to be delivered to the customer. As the customer requirements change, so the resources of the physical datacentre may have to be modified to accommodate the changes in these virtual datacentre requirements. Prior art solutions have required the client's primary physical datacentre capacities to be supplemented by additional service capacity provided by another physical datacentre if new requests cannot be fulfilled by the primary physical datacenter, thus creating a “virtual datacenter” serviced by multiple physical datacentres. However, this leads to communications inefficiencies and additional latency (delay) as data has to be exchanged between multiple physical datacentres to service individual requests.
Traditional approaches for delivering cloud-based services implement continuous reconfiguration of services or virtual datacentre components in response to changing demand profiles, for example by repeating the process depicted in FIG. 4, to meet these changing requirements. These approaches are usually expressed as optimization problems with objectives to minimize the perceived application-level latency (response time), minimize the total monetary costs of delivering cloud-based services, or minimize the total network distance (customer-to-datacentre, datacentre-to-datacentre, and application-to-application in the case of SOA). Heuristic implementations include randomly configuring cloud-based services across available physical cloud service provider datacentres, and configuring all cloud-based services offered by a cloud service provider on all physical cloud service provider datacentres. However, reconfiguration requires setup, migration (maintaining and transferring virtual machine state and data), and teardown of cloud-based services, and this is a complex process, and may require shut-down and/or the availability of temporary storage whilst the reconfiguration takes place. It is therefore desirable to avoid having to reconfigure the networked elements.
According to a first aspect of the invention, there is provided a method of controlling a distributed infrastructure comprising a plurality of client systems, and a plurality of physical data-processing resources organised to operate as a plurality of virtual datacentres, each virtual datacentre being configured with a respective set of service capabilities, the method comprising the steps of analysing a demand profile for each client system and allocating each client system to be handled by one of the virtual datacentres according to the service capabilities of the respective datacentres, wherein in the event of changes to the demand profiles of one or more client systems, the client system allocations are re-mapped to the existing service capabilities of the virtual datacentres, and routing and signalling instructions are transmitted to elements of the distributed infrastructure to configure interactions between the client system and the virtual datacentres.
According to a second aspect, there is provided a network management system for controlling a distributed computing infrastructure, organised as a plurality of physical datacentres each controlled by a respective resource manager, and a plurality of client systems capable of accessing resources organised to operate as a plurality of virtual datacentres maintained by the physical datacentres,                the network management system comprising a service placement manager for co-ordinating and controlling the operation of the resource managers, and a service cell broker for controlling the service placement manager to allocate, for each client system, all its requirements to be met by one of the physical datacentres according to specified requirements of the respective client systems and existing capabilities of the physical datacentres, and in response to changes to the demand profiles of one or more client systems, to reallocate client systems to data centres in accordance to the existing capabilities of the physical datacentres.        
The network management system preferably further comprises a configuration engine for reconfiguring the capabilities of the physical datacentres if the service cell broker is unable to identify a mapping that allows each client system to have all its requirements met by a single one or other of the physical datacentres.
Preferably the mapping is arranged so that each client system is allocated to a single physical datacentre for the set of all its service capabilities comprised in its demand profile. In the embodiments to be described, if no mapping is possible between the current client system demand profiles and the existing sets of service capabilities in the datacentres that allows each client system to be mapped to a single physical datacentre, the virtual datacentres are reconfigured such that a mapping can be made.
The invention provides a controller for the delivery of datacentre services in geo-distributed infrastructures supporting “cloud-based” services. It considers the dependencies that exist between virtual datacentre components, and aims to optimize the delivery of datacentre service in geo-distributed cloud infrastructures by minimising latencies between components in virtual datacentres, minimising reconfiguration overheads, and reducing operational and management complexity.
The invention maps the client systems to the physical datacentres' existing capabilities, rather than adapting the individual physical datacentres' capabilities to the changing requirements of the client systems to which they have been previously allocated: thus the capabilities, and not the mappings, are maintained and the mappings, not the capabilities, are dynamic, so as to optimise the allocation of client systems to cells. Reconfiguration and migration of virtual datacentre components (i.e. virtual machines) takes place only if the re-optimization of the existing Virtual Service Cells cannot satisfy the changed demand profiles. The overhead incurred in transferring virtual datacentre components across the network due to changing demand profiles is greatly reduced and the network is used mainly for end-user traffic. The risk of corrupting the state of virtual datacentre components as a result of continuous reconfiguration is also reduced. A constraint is implemented to ensure the complete virtual datacentre for each datacentre service can only be delivered from one Virtual Service Cell (i.e. one physical cloud service provider datacentre) reduces the complexity of the system and minimises the number of sessions to be maintained per enterprise request.
The invention therefore aims to reallocate the mapping of client systems to physical datacenters according to the existing capabilities of the physical datacenters, rather than reconfiguring the physical datacentres themselves to meet the changing needs of the client systems. Thus existing dependencies between virtual datacenter components are considered and key performance requirements such as minimal latency between components in virtual datacentres can be maintained and reconfiguration costs avoided.
The invention may be implemented in software, programming a general-purpose computer to control the network management system and the various components thereof, which may itself be embodied in a distributed computing systems.